package org.jrs.adaptadorEjemplos;

import java.io.Serializable;
import java.util.Hashtable;

import org.jrs.adaptadorEjemplos.imagenes.EjemploBombImagenes;
import org.jrs.adaptadorDeJuegos.JuegoAdaptadorTablero;

public class EjemploBomb extends JuegoAdaptadorTablero{

        private EjemploBombModelo modelo=new EjemploBombModelo();
       
        public EjemploBomb(){
                super((new EjemploBombImagenes()).getClass());
        }
       
        @Override
        public void eventoInicializar() {
                super.eventoInicializar();
                System.out.println("Inicializar");
                Hashtable<Integer, String> mapaImagenes=new Hashtable<Integer, String>();
                for (int n=0;n<=10;n++){
                        mapaImagenes.put(n, "casilla" + n + ".png");
                }
                super.setMapaImagenes(mapaImagenes);
        }

        @Override
        public void eventoPintar(int orientacion) {
                super.eventoPintar(orientacion);
                int x=getValor(orientacion,30,120);
                int y=getValor(orientacion,100,20);
                int estado=modelo.getEstado();
                if (estado==0){
                        pintarImagen("fondo.jpg", getValor(orientacion,-80,0), getValor(orientacion,0,-80));
                }else if (estado==1 || estado==2){
                        pintarImagen("fondo2.jpg", getValor(orientacion,-80,0), getValor(orientacion,0,-80));
                        pintarTablero(modelo.getTableroVisible(), x, y, 40, 40);
                        if (estado==2){
                                String mensaje="youlose.png";
                                if (modelo.getPulsadas()==90){
                                        mensaje="youwin.png";
                                }
                                pintarImagen(mensaje, getValor(orientacion,40,100), getValor(orientacion,-20,130));
                        }
                }
                pintarImagen("autor.png", 10, getValor(orientacion,580,430));
        }
       
        @Override
        public Serializable eventoEstadoCapturar() {
                return modelo;
        }
       
        @Override
        public void eventoEstadoReestablecer(Serializable s) {
                modelo=(EjemploBombModelo)s;
        }

        @Override
        public void eventoTocarPantalla(int orientacion, int x, int y) {
                int estado=modelo.getEstado();
                if (estado==0){
                        modelo.inicializar();
                }else if (estado==1){
                        verificarPulsacionCasilla(x, y, modelo.getTablero(), getValor(orientacion,30,120), getValor(orientacion,100,20), 40, 40);
                }else if (estado==2){
                        modelo.setEstado(0);
                }
        }
       
        @Override
        public void eventoTableroPulsaCasilla(int fila, int columna) {
                modelo.pulsaCasilla(fila, columna);
        }
       
        public static void main(String arg[]){
                EjemploBomb s1=new EjemploBomb();
        }
       
}

